package com.cardvalue.sys.tool;

import android.text.TextUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 验证
 * Created by cardvalue on 2016/4/13.
 */
public class CheckingForm {
    //错误
    public static String LastError="";
    Pattern p = null;
    Matcher m = null;
    /**
     * 登录时的验证
     * @param mobile  //手机号码
     * @param pwd  //密码
     * @return   //返回true，表示输入的正确
     */
    public static boolean checkLogin(String mobile,String pwd){
        boolean mobilePhone = CheckingTools.isMobile(mobile);
        boolean passWord = CheckingTools.isPwd(pwd);
        if(mobile==null||mobile.equals("")){
            LastError=ErrorMessage.MobileIsEmpty;//手机号码不能为空
            return  false;
        }
        if(!mobilePhone){
            LastError=ErrorMessage.InvalidMobile;//无效的手机号
            return  false;
        }
        if(pwd==null||pwd.equals("")){
            LastError=ErrorMessage.PwdIsEmpty;//密码不能为空
            return  false;
        }
        if(!passWord){
            LastError=ErrorMessage.InvalidPwd;//无效的密码，密码长度为6-16个字符
            return  false;
        }
        return  true;
    }


    /**
     * 注册时候的验证
     * @param mobile  //手机号码
     * @param code    //手机验证码
     * @param pwd     //密码
     * @return        //true表示输入全部正确
     */
    public static boolean checkReg(String mobile,String code, String pwd ){
        boolean mobilePhone = CheckingTools.isMobile(mobile);
        boolean passWord = CheckingTools.isPwd(pwd);
        if(mobile==null||mobile.equals("")){
            LastError=ErrorMessage.MobileIsEmpty;//手机号码不能为空
            return  false;
        }
        if(!mobilePhone){
            LastError=ErrorMessage.InvalidMobile;//无效的手机号
            return  false;
        }
        if(code==null||code.equals("")){
            {
                LastError = ErrorMessage.VeritifyCodeIsEmpty;//验证码不能为空
                return false;
            }
        }

        if(pwd==null||pwd.equals("")){
            LastError=ErrorMessage.PwdIsEmpty;//密码不能为空
            return  false;
        }
        if(!passWord){
            LastError=ErrorMessage.InvalidPwd;//无效的密码，密码长度为6-16个字符
            return  false;
        }
        return true;
    }


    /**
     *<p>验证修改密码</p>
     * @param oldPwd  //旧密码
     * @param newPwd  //新密码
     * @param str2    //确认密码
     * @return
     */
    public static boolean checkForChangepwdForm(String oldPwd,String newPwd,String str2){
        if(oldPwd==null||oldPwd.equals("")){
            LastError = "旧密码不能为空";
            return false;
        }else if(oldPwd.length()<6){
            LastError = "不能少于6位字符";
            return false;
        }else if(newPwd==null||newPwd.equals("")){
            LastError = "新密码不能为空";
            return false;
        }else if(newPwd.length()<6){
            LastError = "新密码不能少于6位字符";
            return false;
        }else if(!newPwd.equals(str2)){
            LastError ="两次输入的密码不相同";
            return false;
        }
        return true;
    }


    /**
     String mownerAddress=ownerAddress.getText().toString();//地址
     String mdirectType=directType.getText().toString();//直系亲属类型
     String mdirectName=directName.getText().toString();//直系亲属姓名
     String mdirectPhone=directPhone.getText().toString();//直系亲属手机
     String memergencyName=emergencyName.getText().toString();//紧急联系人姓名
     String memergencyPhone=emergencyPhone.getText().toString();//紧急联系人手机
     String mhasLeaseContract=hasLeaseContract.getText().toString(); //是否有租赁合同   1：有，0：无
     * @return
     */
    public static boolean  checkForUpFile(String mownerAddress,String mdirectType,String mdirectName,
                                          String mdirectPhone, String memergencyName,
                                          String memergencyPhone,String mhasLeaseContract){
        if(TextUtils.isEmpty(mownerAddress)){
            LastError="居住地址不能为空";
            return false;
        }else  if(TextUtils.isEmpty(mdirectType)){
            LastError="直系亲属类型不能为空";
            return false;
        }else if(TextUtils.isEmpty(mdirectName)){
            LastError="直系亲属姓名不能为空";
            return false;
        }else if(TextUtils.isEmpty(mdirectPhone)){
            LastError="直系亲属手机不能为空";
            return false;
        }else if(TextUtils.isEmpty(memergencyName)){
            LastError="紧急联系人姓名不能为空";
            return false;
        }else if(TextUtils.isEmpty(memergencyPhone)){
            LastError="紧急联系人手机不能为空";
            return false;
        }else if(TextUtils.isEmpty(mhasLeaseContract)){
            LastError="是否有租赁合同不能为空";
            return false;
        }
        return true;

    }






    /**
     *
     * @param loanAmount// 期望融资金额不能为空   期望融资金额不能小于5000
     * @param planFundTerm//期望融资期限不能为空
     * @param IndustryGId//所属行业(一级)
     * @param IndustryPId//所属行业(二级)
     * @param IndustryCId//所属行业(三级)
     * @param bizRegisterNo// 营业执照号码不能为空  请输入合法的营业执照注册号
     * @param businessAddress//请选择经营地址
     * @param numLocations//门店数不能为空
     * @param businessName//经营名称不能为空
     * @param ownerName//申请人不能为空
     * @return
     */
    public static  boolean checkForBasic(String loanAmount,String planFundTerm,String IndustryGId,
                                         String IndustryPId,String IndustryCId,String bizRegisterNo,
                                         String businessAddress,String numLocations,
                                         String businessName,String ownerName){
        boolean isbizRegisterNo=CheckingTools.isbizRegisterNo(bizRegisterNo);
        if(TextUtils.isEmpty(loanAmount)){
            LastError="期望融资金额不能为空";
            return false;
        }else if(Integer.parseInt(loanAmount)<5000){
            LastError="期望融资金额不能小于5000";
            return false;
        }else if(TextUtils.isEmpty(planFundTerm)){
            LastError="期望融资期限不能为空";
            return false;
        }else if(TextUtils.isEmpty(IndustryGId)){
            LastError="所属行业不能为空";
            return false;
        }
        else if(TextUtils.isEmpty(IndustryPId)){
            LastError="所属行业不能为空";
            return false;
        }else if(TextUtils.isEmpty(IndustryCId)){
            LastError="所属行业不能为空";
            return false;
        }
        else if(TextUtils.isEmpty(bizRegisterNo)){
            LastError="营业执照号码不能为空";
            return false;
        }else if(!isbizRegisterNo){
            LastError="请输入合法的营业执照注册号";
            return false;
        }else if(TextUtils.isEmpty(businessAddress)){
            LastError="请选择经营地址";
            return false;
        }else if(TextUtils.isEmpty(numLocations)){
            LastError="门店数不能为空";
            return false;
        }else if(TextUtils.isEmpty(businessName)){
            LastError="经营名称不能为空";
            return false;
        }else if(TextUtils.isEmpty(ownerName)){
            LastError="申请人不能为空";
            return false;
        }

        return true;
    }


    /**
     * 对私的银行卡  第一步非空处理
     * checkForBankPrivate
     * @param directDebitAcctName
     * @param directDebitAcctId
     * @param directDebitBankName
     * @param directDebitAcctNo
     * @param directDebitAcctPhone
     * @param mobilePhoneVerifyCode
     * @return
     */
    public static boolean  checkForBankPrivate(String directDebitAcctName,String directDebitAcctId,String directDebitBankName,
                                               String directDebitAcctNo, String directDebitAcctPhone,
                                               String mobilePhoneVerifyCode){
        boolean misAuthCard=CheckingTools.isAuthCard(directDebitAcctId);
        boolean  mBankPrivate=CheckingTools.BankPrivate(directDebitAcctNo);
        boolean mPhone=CheckingTools.isMobile(directDebitAcctPhone);
        if(TextUtils.isEmpty(directDebitAcctName)){
            LastError="还款账户名不能为空";
            return false;
        }else  if(TextUtils.isEmpty(directDebitAcctId)){
            LastError="身份证不能为空";
            return false;
        }else if(!misAuthCard){
            LastError="身份证不正确";
            return false;
        }
        else if(TextUtils.isEmpty(directDebitBankName)){
            LastError="开户银行不能为空";
            return false;
        }else if(TextUtils.isEmpty(directDebitAcctNo)){
            LastError="银行账号不能为空";
            return false;
        }else if(!mBankPrivate){
            LastError="银行账号不正确";
            return false;
        }
        else if(TextUtils.isEmpty(directDebitAcctPhone)){
            LastError="银行预留手机号不能为空";
            return false;
        }else if(!mPhone){
            LastError="银行预留手机号格式不正确";
            return false;
        }else if(TextUtils.isEmpty(mobilePhoneVerifyCode)){
            LastError="验证码不能为空";
            return false;
        }
        return true;

    }



    //对公
    public static boolean  checkForBankPublic(String secondaryBankAcctName,String secondaryBankName,String secondaryBankDDA,
                                              String directDebitAcctName, String directDebitAcctId,
                                              String directDebitBankName, String directDebitBankCode, String secondaryBankABA,
                                              String directDebitAcctNo, String directDebitAcctPhone, String mobilePhoneVerifyCode){
        boolean misAuthCard=CheckingTools.isAuthCard(directDebitAcctId);
        boolean  mBankPublic=CheckingTools.BankPublic(secondaryBankDDA);
        boolean  mBankPrivate=CheckingTools.BankPrivate(directDebitAcctNo);
        boolean mPhone=CheckingTools.isMobile(directDebitAcctPhone);
        if(TextUtils.isEmpty(secondaryBankAcctName)){
            LastError="开户名称不能为空";
            return false;
        }else if(TextUtils.isEmpty(secondaryBankName)){
            LastError="请选择银行";
            return false;
        }else if(TextUtils.isEmpty(secondaryBankDDA)){
            LastError="对公银行账号不能为空";
            return false;
        }else if(!mBankPublic){
            LastError="请输入正确的对公银行账号";
            return false;
        }else if(TextUtils.isEmpty(directDebitAcctName)){
            LastError="还款账户名不能为空";
            return false;
        }else  if(TextUtils.isEmpty(directDebitAcctId)){
            LastError="身份证不能为空";
            return false;
        }else if(!misAuthCard){
            LastError="身份证不正确";
            return false;
        }else if(TextUtils.isEmpty(directDebitBankName)){
            LastError="请选择银行";
            return false;
        }else if(TextUtils.isEmpty(directDebitBankCode)){
            return false;
        } else if(TextUtils.isEmpty(secondaryBankABA)){
            return false;
        }else if(TextUtils.isEmpty(directDebitAcctNo)){
            LastError="银行账号不能为空";
            return false;
        }else if(!mBankPrivate){
            LastError="银行账号不正确";
            return false;
        }
        else if(TextUtils.isEmpty(directDebitAcctPhone)){
            LastError="银行预留手机号不能为空";
            return false;
        }else if(!mPhone){
            LastError="银行预留手机号格式不正确";
            return false;
        }else if(TextUtils.isEmpty(mobilePhoneVerifyCode)){
            LastError="验证码不能为空";
            return false;
        }
        return true;

    }


}
